﻿Imports lbGlobalcom
Public Class fLoguin

    ' TODO: inserte el código para realizar autenticación personalizada usando el nombre de usuario y la contraseña proporcionada 
    ' (Consulte http://go.microsoft.com/fwlink/?LinkId=35339).  
    ' El objeto principal personalizado se puede adjuntar al objeto principal del subproceso actual como se indica a continuación: 
    '     My.User.CurrentPrincipal = CustomPrincipal
    ' donde CustomPrincipal es la implementación de IPrincipal utilizada para realizar la autenticación. 
    ' Posteriormente, My.User devolverá la información de identidad encapsulada en el objeto CustomPrincipal
    ' como el nombre de usuario, nombre para mostrar, etc.

    Dim daSedes As dsGlobalTableAdapters.GLO_SEDESTableAdapter
    Dim daPeri As dsGlobalTableAdapters.GLO_PERIODOSTableAdapter
    Dim lDatosLogueo As String
    Dim IsLoguin As Boolean = False
    Public ReadOnly Property DatosLogueo() As String
        Get
            Return lDatosLogueo
        End Get
    End Property
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        lDatosLogueo = "Usuario: " & UsernameTextBox.Text & "     Sede : " & cbSucursal.SelectedValue & "-" & cbSucursal.Text & "     Periodo :" & cbPeriodos.SelectedValue
        CustomPrincipal.RegistroDatos(cbPeriodos.SelectedValue, cbSucursal.SelectedValue)
        Me.DialogResult = Windows.Forms.DialogResult.OK
    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        Me.DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub

    Private Sub btnValidaLogueo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnValidaLogueo.Click
        Try
            If Not IsLoguin Then
                Cursor = Cursors.WaitCursor
                IsLoguin = True
                cApp.RefrescaCadConn(UsernameTextBox.Text, PasswordTextBox.Text)
                If CustomPrincipal.Autenticar(UsernameTextBox.Text, PasswordTextBox.Text) Then
                    btnValidaLogueo.Image = GlobalcomApp.My.Resources.CandadoAbierto
                    OK.Enabled = True
                    cbSucursal.Enabled = True
                    daSedes = New dsGlobalTableAdapters.GLO_SEDESTableAdapter
                    daSedes.Fill(DsGlobal.GLO_SEDES)
                    daPeri = New dsGlobalTableAdapters.GLO_PERIODOSTableAdapter
                    daPeri.FillByMayIguEstado(DsGlobal.GLO_PERIODOS, 2)
                    cbSucursal.SelectedValue = CustomPrincipal.IDSede
                    Dim Per As cPeriodos = New cPeriodos()
                    cbPeriodos.SelectedValue = Per.IDPERIODO
                    Per = Nothing
                    If CustomPrincipal.IsInRole("ADMINGC") Then
                        cbPeriodos.Enabled = True
                    Else
                        cbPeriodos.Enabled = False
                    End If
                    If CustomPrincipal.RestringidoASede Then
                        cbSucursal.Enabled = False
                    Else
                        cbSucursal.Enabled = True
                    End If
                    IsLoguin = False
                    OK.Focus()
                Else
                    IsLoguin = False
                    If CustomPrincipal.lErrorConn.Contains("ORA-12170: TNS") Or CustomPrincipal.lErrorConn.Contains("ORA-12170: TNS") Then
                        MessageBox.Show("Error en la conexion con el servidor verificar conexion a la red", "Error Conn Servidor", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        btnConn.Enabled = True
                    Else
                        MessageBox.Show("Nombre de usuario o contraseña no valida, verifique e intente de nuevo", "Error Logueo", MessageBoxButtons.OK, MessageBoxIcon.Stop)
                        btnConn.Enabled = False
                    End If
                    btnValidaLogueo.Image = GlobalcomApp.My.Resources.CandadoCerrado
                    OK.Enabled = False
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            Cursor = Cursors.Default
        End Try
    End Sub

    Private Sub fLoguin_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If CustomPrincipal.IsAutenticado Then
            daSedes = New dsGlobalTableAdapters.GLO_SEDESTableAdapter
            daSedes.Fill(DsGlobal.GLO_SEDES)
            daPeri = New dsGlobalTableAdapters.GLO_PERIODOSTableAdapter
            daPeri.FillByMayIguEstado(DsGlobal.GLO_PERIODOS, 2)
            cbSucursal.SelectedValue = CustomPrincipal.IDSede
            Dim Per As cPeriodos = New cPeriodos()
            cbPeriodos.SelectedValue = Per.IDPERIODO
            Per = Nothing
            btnValidaLogueo.Image = GlobalcomApp.My.Resources.CandadoAbierto
            OK.Enabled = True
            cbSucursal.Enabled = True
            If CustomPrincipal.IsInRole("ADMINGC") Then
                cbPeriodos.Enabled = True
                btnConn.Enabled = True
            Else
                btnConn.Enabled = False
                cbPeriodos.Enabled = False
            End If
            If CustomPrincipal.RestringidoASede Then
                cbSucursal.Enabled = False
            Else
                cbSucursal.Enabled = True
            End If
        End If
    End Sub

    Private Sub PasswordTextBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles PasswordTextBox.KeyUp
        If e.KeyCode = Keys.Enter Then
            btnValidaLogueo_Click(Nothing, Nothing)
        End If
    End Sub

    Private Sub btnConn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConn.Click
        Try
            Dim fConn As New frmConn
            fConn.Show()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class
